perm filename SIM1.FAI[CMS,LCS] blob sn#180062 filedate 1975-10-08 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00011 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE SIMMER
C00003 00003		PUSHJ P,IFTCH
C00005 00004	[PHP:	HRRZ PS
C00007 00005	[CLC:	TRZ PS,1
C00009 00006	[PLP:	PUSHJ P,[PUL:	AOJ SP,
C00010 00007		BMI
C00011 00008		RTS
C00012 00009		BCC
C00013 00010		CPYIM
C00014 00011		BEQ
C00015 ENDMK
C⊗;
	TITLE SIMMER
	B←2 ↔ C←3 ↔ D←4 ↔ E←5 ↔ MA←6 ↔ P←17
	PC←10 ↔ PS←11 ↔ SP←12 ↔ A←13
	X←14 ↔ Y←15 ↔ IR←16 ↔ MEM←2000
	CBIT←1 ↔ ZBIT←2 ↔ INTDBIT←4 ↔ DBIT←10
	BRKBIT←20 ↔ VBIT←100 ↔ NBIT←200
	RSTV←177772 ↔ NMIV←177774 ↔ IRQV←177776
	ZHW←777400
ZWD:	-1,,777400
ZWD16:	-1,,600000

PCPO:	????

IFTCH:	
	LDB IR,PCPO
	HRRZ IR,MEM(PC)
	AOJ PC,
	TDZ PC,ZWD16
	POPJ P,
DFTCH:	
	
INDER:	HRRZ MA,
	PUSHJ P,DFTCH
	HRRZ 1,
	AOJ MA,
	TD

	HRRZ MA,MEM+1(1)
	LSH MA,-8
	OR MA,MEM(1)
	POPJ P,]

INX:	PUSHJ P,IFTCH
	ADDI (X)
	TRZ ZHW
	PUSHJ P,INDER
	POPJ P,
	PUSHJ P,IFTCH
	HRRZI (PC)
	PUSHJ P,PUTCH
	HRRZI (PC)
	LSH 8
	PUSHJ P,PUTCH

INSTBL:	
[BRK:	PUSHJ P,PUPC
	TRO PS,BRKBIT∨IDBIT
	PUSHJ P,PHP
?	HRRZI IRQV
??	PUSHJ P,
	POPJ P,]
[ORAINX:PUSHJ P,
			POPJ P,]
	PUSHJ P,[ORA:	OR A
			PUSHJ P,[NZTST:	TRZ PS,300
					SKIPE
					TRO PS,100
					TRNE 200
					TRO PS,200
					POPJ P,]
			HRRZ A,
			POPJ P,]
	POPJ P,]
UDO
UDO
UDO
[ORAZ:	PUSHJ P,[ZPAGE:	PUSHJ P,DFTCH
			HRRZ MEM(IR)
			POPJ P,]
	PUSHJ P,ORA
	POPJ P,]
[ASLZ:	PUSHJ P,ZPAGE
	PUSHJ P,[ASL:	LSH -1
			PUSHJ P,[CNZTST:TRZ PS,1
					TDZE ZWD
					TRO PS,1
					PUSHJ P,NZTST
					POPJ P,]
			POPJ P,]
	HRRZM (IR)
	POPJ P,]
UDO
[PHP:	HRRZ PS
	PUSHJ P,[PUTCH:	TRZ 777400
			HRRZM MEM+400(SP)
			SOJGE SP
			HRRZI SP,377
			POPJ P,]
	POPJ P,]
[ORAIM:	PUSHJ P,DFTCH
	PUSHJ P,ORA
	POPJ P,]
[ASLAC:	HRRZI (A)
	PUSHJ P,ASL
	HRRZ A,
	POPJ P,]
UDO
UDO
[ORAAB:	PUSHJ P,[ABS:	PUSHJ P,DFTCH
			LSH -8
			HRRZ MA,
			PUSHJ P,DFTCH
			OR MA,
			HRRZ MEM(MA)
			POPJ P,]
	PUSHJ P,ORA
	POPJ P,]
[ASLAB:	PUSHJ P,ABS
	PUSHJ P,ASL
	HRRZM MEM(MA)
	POPJ P,]
UDO

[BPL:	HRRZI 1,200
	PUSHJ P,[BRF:	PUSHJ P,DFTCH
			TRNN PS,200
			PUSHJ P,[BRNCH:	TRNE 200
					TDO ZWD
					ADD PC,
					POPJ P,]
			POPJ P,]
	POPJ P,]
[ORAINY:PUSHJ P,[INY:	PUSHJ P,DFTCH
			PUSHJ P,DWD
			ADDI MA,(X)
			HRRZ MEM(MA)
			POPJ P,]
	PUSHJ P,ORA
	POPJ P,]
UDO
UDO
UDO
[ORAZX:	PUSHJ P,[ZPX:	PUSHJ P,DFTCH
			ADDI (X)
			TDZ ZWD
			HRRZ MA,
			HRRZ MEM(MA)
			POPJ P,]
	PUSHJ P,ORA
	POPJ P,]
[ASLZX:	PUSHJ P,ZPX
	PUSHJ P,ASL
	HRRZM MEM(MA)
	POPJ P,]
UDO
[CLC:	TRZ PS,1
	POPJ P,]
[ORAABY:PUSHJ P,[ABY:	PUSHJ P,ABS
			ADDI MA,(Y)
			HRRZ (MA)
			POPJ P,]
		PUSHJ P,ORA
		POPJ P,]
UDO
UDO
UDO
[ORAABX:PUSHJ P,[ABX:	PUSHJ P,ABS
			ADDI MA,(X)
			HRRZ (MA)
			POPJ P,]
	PUSHJ P,ORA
	POPJ P,]
[ASLABX:PUSHJ P,ABX
	PUSHJ P,ASL
	HRRM (MA)
	POPJ P,]
UDO

[JSR:	PUSHJ P,ABS
	HRRZI -1(PC)
	PUSHJ P,PUTCH
	HRRZI -1(PC)
	LSH 8
	PUSHJ P,PUTCH
	HRRZI PC,(MA)
	POPJ P,]
[ANDINX:PUSHJ P,INX
	PUSHJ P,[AAND:	AND A
			PUSHJ P,NZTST
			HRRZ A,
			POPJ P,]
	POPJ P,]
UDO
UDO
[BITZ:
	POPJ P,]
[ANDZ:	PUSHJ P,ZPAGE
	PUSHJ P,AAND
	POPJ P,]
[ROLZ:	PUSHJ P,ZPAGE
	PUSHJ P,[ROL:	LSH -1
			TRNE PS,1
			TRO 1
			PUSHJ P,CNZTST
			POPJ P,]
	HRRZM (IR)
	POPJ P,]
UDO
[PLP:	PUSHJ P,[PUL:	AOJ SP,
			TDZ SP,ZWD16
			HRRZ MEM(SP)
			POPJ P,]
	HRRZ PS,
	POPJ P,]
[ANDIM:	PUSHJ P,DFTCH
	PUSHJ P,AAND
	POPJ P,]
[ROLAC:	HRRZI (A)
	PUSHJ P,ROL
	HRRZ A,
	POPJ P,]
UDO
[BITAB:
	POPJ P,]
[ANDAB:	PUSHJ P,ABS
	PUSHJ P,AAND
	POPJ P,]
[ROLAB:	PUSHJ P,ABS
	PUSHJ P,ROL
	HRRZM (MA)
	POPJ P,]
UDO
	BMI
	ANDINY
	UDO
	UDO
	UDO
	ANDZX
	ROLZX
	UDO

	SEC
	ANDABY
	UDO
	UDO
	UDO
	ANDABX
	ROLABX
	UDO
	
	RTI
	EORINX
	UDO
	UDO
	UDO
	EORZ
	LSRZ
	UDO

	PHA
	EORIM
	LSRAC
	UDO
	JMPAB
	EORAB
	LSRAB
	UDO

	BVC
	EORINY
	UDO
	UDO
	UDO
	EORZX
	LSRZX
	UDO

	CLI
	EORABY
	UDO
	UDO
	UDO
	EORABX
	LSRABX
	UDO
	RTS
	ADCINX
	UDO
	UDO
	UDO
	ADCZ
	UDO
	UDO

	PLA
	ADCIM
	UDO
	UDO
	JMPIN
	ADCAB
	UDO
	UDO

	BVS
	ADCINY
	UDO
	UDO
	UDO
	ADCZX
	UDO
	UDO
	
	SEI
	ADCABY
	UDO
	UDO
	UDO
	ADCABX
	UDO
	UDO

	UDO
	STAINX
	UDO
	UDO
	STYZ
	STAZ
	STXZ
	UDO

	DEY
	UDO
	TXA
	UDO
	STYAB
	STAAB
	STXAB
	UDO
	BCC
	STAINY
	UDO
	UDO
	STYZX
	STAZX
	STXZY
	UDO

	TYA
	STAABY
	TXS
	UDO
	UDO
	STAABX
	UDO
	UDO

	LDYIM
	LDAINX
	LDXIM
	UDO
	LDYZ
	LDAZ
	LDXZ
	UDO

	TAY
	LDAIM
	TAX
	UDO
	LDYAB
	LDAAB
	LDXAB
	UDO

	BCS
	LDAINY
	UDO
	UDO
	LDYZX
	LDAZX
	LDXZY
	UDO

	CLV
	LDAABY
	TSX
	UDO
	LDYABX
	LDAABX
	LDXABY
	UDO
	CPYIM
	CMPINX
	UDO
	UDO
	CPYZ
	CMPZ
	DECZ
	UDO

	INY
	CMPIM
	DEX
	UDO
	CPYAB
	CMPAB
	DECAB
	UDO

	BNE
	CMPINX
	UDO
	UDO
	CMPZ
	SBCZ
	INCZ
	UDO

	CLD
	CMPABY
	UDO
	UDO
	UDO
	CMPABX
	DECABX
	UDO

	CPXIM
	SBCINY
	UDO
	UDO
	CPXZ
	SBCZ
	INCZ
	UDO

	INX
	SBCIM
	NOP
	UDO
	CPXAB
	SBCAB
	INCAB
	UDO
	BEQ
	SBCINY
	UDO
	UDO
	UDO
	SBCZX
	INCZX
	UDO

	SED
	SBCABY
	UDO
	UDO
	UDO
	SBCABX
	INCABX
	UDO

PCP:	1000,,MEM

XCUTE:	LDB B,PCP
	PUSHJ P,INSTBL(B)
	JRST XCUTE
	

MAD:	1000,,MEM

FETCH:	
	LDB B,MAD	;GET IT